The present invention relates to data center infrastructure and networking, and more particularly, this invention relates to supporting converged traffic over Ethernet link aggregation (LAG).
Network packet switches use Link Aggregation (LAG) to create a higher bandwidth port channel using multiple switch ports. As defined in the IEEE 802.1AX standard, LAG provides a logical interface to the Media Access Control (MAC) client (higher layer protocol in network stack) and is responsible for distribution of frames across physical ports within a LAG enabled system with the help of a frame distribution algorithm.
LAG may be formed statically or dynamically. Static LAG has a fixed number of ports which are always members of the LAG if they are configured to be members of the LAG. Dynamic LAG, according to Link Aggregation and Control Protocol/LACP IEEE 802.3AD, provides facilities where port members may dynamically join and leave the dynamic LAG. Distributing or load balancing network traffic over the LAG ports is accomplished with algorithms, various different algorithms being currently available to control distribution across members in a LAG. Good algorithms provide efficient ways of hashing packets over the member ports, make sure each port is used equally, and ensure that no one port gets congested.
A switching processor, such as a switching application specific integrated circuit (ASIC) may be used to provide various algorithms which choose ports for network packets. Most of the algorithms are based upon tuples formed from information in the packet header of the packets. The tuples typically include a source media access control (MAC) address, a destination MAC address, a virtual local area network (VLAN) identifier, a source internet protocol (IP) address, a destination IP address, a source transport port, and a destination transport port. Some algorithms consider additional programmable factors to achieve better distribution of packets on ports and/or other usage metrics.
LAGs are important properties of the switches in a network and impact the performance of the switches and network in general. LAGs also alter the overall performance of the set of switches connected together. While link aggregation improves throughput/resiliency performance of a network, higher layer protocols in the end host network stack impose certain constraints on packet delivery. For TCP/IP networks, for example, one requirement may be in-order packet delivery.
A converged Ethernet network may include both Ethernet and storage-based communications for example, where storage communications may include Fiber Channel over Ethernet (FCoE) and/or remote direct access memory (RDMA) over Converged Enhanced Ethernet (RoCEE).
Accordingly, it would be beneficial to be able to utilize LAGs on a converged network in a way that adheres to the requirements of both Ethernet and storage-based protocols.